package community

import (
	"github.com/flipped-aurora/gin-vue-admin/server/global"
)

// CommunityColumn 社区栏目表
type CommunityColumn struct {
	global.GVA_MODEL
	CommunityID   uint   `gorm:"not null" json:"communityId"`      // CommunityID 所属社区
	Name          string `gorm:"size:50;not null" json:"name"`     // Name 栏目名称（动态/提问/回答等）
	ContentFilter JSON   `gorm:"type:json" json:"contentFilter"`   // ContentFilter 对应的 content 筛选规则，例如 {"type": ["post"]}
	Sort          int    `gorm:"default:0;not null" json:"sort"`   // Sort 默认0，前端排序
	Status        int8   `gorm:"default:1;not null" json:"status"` // Status 默认1，1=启用，0=禁用
}

// TableName 指定表名
func (CommunityColumn) TableName() string {
	return "community_column"
}

// 添加唯一索引和普通索引
func (CommunityColumn) Indexes() []string {
	return []string{
		"UNIQUE KEY uk_community_name (community_id, name)",
		"KEY idx_sort (community_id, sort)",
	}
}
